package IUSECASE;

import IBO.IIntervention;
import IBO.ITechnicien;
import IBO.IZoneGeographique;
import boerrors.ZoneMinimumMultiplicityException;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Vector;

public interface IUC_GestionPlanning extends Remote{

        Vector<IZoneGeographique> listerZone() throws RemoteException;    
    
        Vector<IIntervention> listeInterventionAPlanifier() throws RemoteException;
    
        Vector<IIntervention> listeInterventionPlanifiee() throws RemoteException;

        Vector<IIntervention> listeInterventionAReplanifier() throws RemoteException;
    
        Vector<IIntervention> listeInterventionEnCours() throws RemoteException;
        
        Vector<IIntervention> listeInterventionHistorique() throws RemoteException;
               
        Vector<IIntervention> listeInterventionSuivies() throws RemoteException;
        
        Vector<IIntervention> listeInterventionCloturees() throws RemoteException;
        
        Vector<IIntervention> listeInterventionAnnulees() throws RemoteException;
        
        Vector<ITechnicien> listerTechniciens(String zone, GregorianCalendar dateIntervention) throws RemoteException;
        
        void planifier( IIntervention intervention, ITechnicien technicien, GregorianCalendar dateIntervention, 
                        String prioriteIntervention) throws RemoteException;

        void replanifier(IIntervention intervention, ITechnicien technicien, GregorianCalendar dateIntervention) throws RemoteException;
        
        public void deplanifier(IIntervention intervention) throws RemoteException;
        
        //public void annuler(IIntervention intervention) throws RemoteException;
        
        public void annuler(int idIntervention) throws RemoteException;
        
        Vector<ITechnicien> getPlanningTechniciens(int filtreIntervention, String zone ,Date dateDebut) throws RemoteException, ZoneMinimumMultiplicityException;        
        
}